home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / catD / MUTEX_ALLOC.z / MUTEX_ALLOC
Encoding:
Text File  |  2002-10-03  |  6.0 KB  |  132 lines

  1.  
  2.  
  3.  
  4. MMMMUUUUTTTTEEEEXXXX____AAAALLLLLLLLOOOOCCCC((((DDDD3333))))                                                MMMMUUUUTTTTEEEEXXXX____AAAALLLLLLLLOOOOCCCC((((DDDD3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _MMMM_UUUU_TTTT_EEEE_XXXX______AAAA_LLLL_LLLL_OOOO_CCCC, _MMMM_UUUU_TTTT_EEEE_XXXX______IIII_NNNN_IIII_TTTT - mutual exclusion lock initialization
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_tttt_yyyy_pppp_eeee_ssss_...._hhhh_>>>>
  13.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_kkkk_mmmm_eeee_mmmm_...._hhhh_>>>>
  14.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_kkkk_ssss_yyyy_nnnn_cccc_hhhh_...._hhhh_>>>>
  15.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_dddd_dddd_iiii_...._hhhh_>>>>
  16.      _mmmm_uuuu_tttt_eeee_xxxx______tttt _****_MMMM_UUUU_TTTT_EEEE_XXXX______AAAA_LLLL_LLLL_OOOO_CCCC_((((_iiii_nnnn_tttt _t_y_p_e, int _f_l_a_g, char *_n_a_m_e);
  17.  
  18.      void MUTEX_INIT(mutex_t *_m_p, int _t_y_p_e, char *_n_a_m_e);
  19.  
  20.    AAAArrrrgggguuuummmmeeeennnnttttssss
  21.      _t_y_p_e      Type of mutual exclusion lock -- must be _MMMM_UUUU_TTTT_EEEE_XXXX______DDDD_EEEE_FFFF_AAAA_UUUU_LLLL_TTTT.
  22.  
  23.      _f_l_a_g      Specifies whether the caller is willing to sleep waiting for
  24.                memory.
  25.  
  26.      _n_a_m_e      Name applied to the mutex -- only used when the metering locks
  27.                package is installed.  Name may be a null pointer.
  28.  
  29. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  30.      _MMMM_UUUU_TTTT_EEEE_XXXX______AAAA_LLLL_LLLL_OOOO_CCCC dynamically allocates and initializes an instance of a
  31.      sleeping mutual exclusion lock.  _MMMM_UUUU_TTTT_EEEE_XXXX______IIII_NNNN_IIII_TTTT initializes an already-
  32.      allocated instance of a sleeping mutual exclusion lock.  The mutex is
  33.      initialized to the unlocked state.
  34.  
  35.      If _f_l_a_g is set to _KKKK_MMMM______SSSS_LLLL_EEEE_EEEE_PPPP, the caller will sleep if necessary until
  36.      sufficient memory is available.  If _f_l_a_g is set to _KKKK_MMMM______NNNN_OOOO_SSSS_LLLL_EEEE_EEEE_PPPP, the caller
  37.      will not sleep, but _MMMM_UUUU_TTTT_EEEE_XXXX______AAAA_LLLL_LLLL_OOOO_CCCC will return _NNNN_UUUU_LLLL_LLLL if sufficient memory is
  38.      not immediately available.
  39.  
  40.    RRRReeeettttuuuurrrrnnnn VVVVaaaalllluuuueeeessss
  41.      Upon successful completion, _MMMM_UUUU_TTTT_EEEE_XXXX______AAAA_LLLL_LLLL_OOOO_CCCC returns a pointer to the newly
  42.      allocated lock.  If _KKKK_MMMM______NNNN_OOOO_SSSS_LLLL_EEEE_EEEE_PPPP is specified and sufficient memory is not
  43.      immediately available, _MMMM_UUUU_TTTT_EEEE_XXXX______AAAA_LLLL_LLLL_OOOO_CCCC returns a _NNNN_UUUU_LLLL_LLLL pointer.
  44.  
  45. UUUUSSSSAAAAGGGGEEEE
  46.    LLLLeeeevvvveeeellll
  47.      Initialization or Base.
  48.  
  49.    SSSSyyyynnnncccchhhhrrrroooonnnniiiizzzzaaaattttiiiioooonnnn CCCCoooonnnnssssttttrrrraaaaiiiinnnnttttssss
  50.      May sleep if flag is set to _KKKK_MMMM______SSSS_LLLL_EEEE_EEEE_PPPP.
  51.  
  52.      Driver-defined basic locks be held across calls to this function if _f_l_a_g
  53.      is _KKKK_MMMM______NNNN_OOOO_SSSS_LLLL_EEEE_EEEE_PPPP but may not be held if _f_l_a_g is _KKKK_MMMM______SSSS_LLLL_EEEE_EEEE_PPPP.
  54.  
  55.      Driver-defined sleep locks and read/write locks may be held across calls
  56.      to this function regardless of the value of _f_l_a_g.
  57.  
  58.  
  59.  
  60.  
  61.                                                                         PPPPaaaaggggeeee 1111
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68. MMMMUUUUTTTTEEEEXXXX____AAAALLLLLLLLOOOOCCCC((((DDDD3333))))                                                MMMMUUUUTTTTEEEEXXXX____AAAALLLLLLLLOOOOCCCC((((DDDD3333))))
  69.  
  70.  
  71.  
  72. RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEESSSS
  73.      _MMMM_UUUU_TTTT_EEEE_XXXX______DDDD_EEEE_AAAA_LLLL_LLLL_OOOO_CCCC(D3), _MMMM_UUUU_TTTT_EEEE_XXXX______DDDD_EEEE_SSSS_TTTT_RRRR_OOOO_YYYY(D3), _MMMM_UUUU_TTTT_EEEE_XXXX______LLLL_OOOO_CCCC_KKKK(D3), _MMMM_UUUU_TTTT_EEEE_XXXX______TTTT_RRRR_YYYY_LLLL_OOOO_CCCC_KKKK(D3),
  74.      _MMMM_UUUU_TTTT_EEEE_XXXX______UUUU_NNNN_LLLL_OOOO_CCCC_KKKK(D3), _MMMM_UUUU_TTTT_EEEE_XXXX______OOOO_WWWW_NNNN_EEEE_DDDD(D3), _MMMM_UUUU_TTTT_EEEE_XXXX______MMMM_IIII_NNNN_EEEE(D3),
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.                                                                         PPPPaaaaggggeeee 2222
  128.  
  129.  
  130.  
  131.